// // 第一种用来演示axios封装
// import axios from 'axios'
// function httpA(){
//     return axios({
//         url : './0-test.json',
//         // headers :{

//         // }
//     })
// }

// function httpB(){
//     return axios({
//         url : './0-test.json',
//         // headers :{

//         // }
//     })
// }

// // 当有一个时:export default xx

// export default {
//     httpA,
//     httpB
// }


// 第二种 :对于数据请求的封装
import axios from 'axios'
import { Toast } from 'vant';
const http = axios.create({
    baseURL : 'xx',
    timeout : 10000,
    headers : {

    }
})

// axios github


// 演示axios拦截器,拦截之前,发请求之前,可以再添加一些配置

http.interceptors.request.use(function (config) {
    
  // 发请求的时候,进行加载loading的设置,
    Toast.loading({
        message: '加载中...',
        forbidClick: true,
        duration : 0 // 展示时长(ms)，值为 0 时，toast 不会消失
      });
      
    return config;
  }, function (error) {
    // Do something with request error
    return Promise.reject(error);
  });



//   返回来之后,可以添加一些东西,执行时间会比调用该方法后的.then()提前,
axios.interceptors.response.use(function (response) {

  // 返回之后,进行清除
  Toast.clear()
    return {
        ...response,
        kkk : 'name'
        // 再后面的.then()中可以看到该内容
    };
  }, function (error) {
    Toast.clear()
    return Promise.reject(error);
  });

export default http